package analyze;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;


public class Analyze{
	public static void main(String[] args) {
		Analyze a=new Analyze();
//		将学生分析到学生要求房间大小规格
		a.analyzeRoomSize();	
	}
//	查询学生表信息sql语句
	String sql="select * from student";
	Connection conn = Conn.getConn();
	PreparedStatement pstmt;
	
//	数据库中的男生4人寝		0代表男 4代表房间人数
	ArrayList<Student> alSex04=new ArrayList<Student>();
//	数据库中的男生6人寝
	ArrayList<Student> alSex06=new ArrayList<Student>();
//	数据库中的男生8人寝
	ArrayList<Student> alSex08=new ArrayList<Student>();
//	数据库中的女生4人寝
	ArrayList<Student> alSex14=new ArrayList<Student>();
//	数据库中的女生6人寝
	ArrayList<Student> alSex16=new ArrayList<Student>();
//	数据库中的女生8人寝
	ArrayList<Student> alSex18=new ArrayList<Student>();
//	男生 4人寝 性格为默认
	ArrayList<Student> al041 =new ArrayList<Student>();
//	男生 4人寝 性格为安静
	ArrayList<Student> al042 =new ArrayList<Student>();
//	男生 4人寝 性格为热闹
	ArrayList<Student> al043 =new ArrayList<Student>();
//	男生 6人寝 性格为默认
	ArrayList<Student> al061 =new ArrayList<Student>();
//	男生 6人寝 性格为安静
	ArrayList<Student> al062 =new ArrayList<Student>();
//	男生 6人寝 性格为热闹
	ArrayList<Student> al063 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹
	ArrayList<Student> al081 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹		
	ArrayList<Student> al082 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹
	ArrayList<Student> al083 =new ArrayList<Student>();
//	女生 4人寝 性格为默认
	ArrayList<Student> al141 =new ArrayList<Student>();
//	女生 4人寝 性格为安静
	ArrayList<Student> al142 =new ArrayList<Student>();
//	女生 4人寝 性格为热闹
	ArrayList<Student> al143 =new ArrayList<Student>();
//	女生 6人寝 性格为默认
	ArrayList<Student> al161 =new ArrayList<Student>();
//	女生 6人寝 性格为安静
	ArrayList<Student> al162 =new ArrayList<Student>();
//	女生 6人寝 性格为热闹
	ArrayList<Student> al163 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹
	ArrayList<Student> al181 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹		
	ArrayList<Student> al182 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹
	ArrayList<Student> al183 =new ArrayList<Student>();
	
//	男生 4人寝 性格为默认 生活规律
	ArrayList<Student> al0411 =new ArrayList<Student>();
//	男生 4人寝 性格为默认 生活不规律
	ArrayList<Student> al0412 =new ArrayList<Student>();
//	男生 4人寝 性格为安静 生活规律
	ArrayList<Student> al0421 =new ArrayList<Student>();
//	男生 4人寝 性格为安静 生活不规律
	ArrayList<Student> al0422 =new ArrayList<Student>();
//	男生 4人寝 性格为热闹 生活规律
	ArrayList<Student> al0431 =new ArrayList<Student>();
//	男生 4人寝 性格为热闹 生活不规律
	ArrayList<Student> al0432 =new ArrayList<Student>();
//	男生 6人寝 性格为默认 生活规律
	ArrayList<Student> al0611 =new ArrayList<Student>();
//	男生 6人寝 性格为默认 生活不规律
	ArrayList<Student> al0612 =new ArrayList<Student>();
//	男生 6人寝 性格为安静 生活规律
	ArrayList<Student> al0621 =new ArrayList<Student>();
//	男生 6人寝 性格为安静 生活不规律
	ArrayList<Student> al0622 =new ArrayList<Student>();
//	男生 6人寝 性格为热闹 生活规律
	ArrayList<Student> al0631 =new ArrayList<Student>();
//	男生 6人寝 性格为热闹 生活不规律
	ArrayList<Student> al0632 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al0811 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al0812 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al0821 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al0822 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al0831 =new ArrayList<Student>();
//	男生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al0832 =new ArrayList<Student>();
//	女生 4人寝 性格为默认 生活规律
	ArrayList<Student> al1411 =new ArrayList<Student>();
//	女生 4人寝 性格为默认 生活不规律
	ArrayList<Student> al1412 =new ArrayList<Student>();
//	女生 4人寝 性格为安静 生活规律
	ArrayList<Student> al1421 =new ArrayList<Student>();
//	女生 4人寝 性格为安静 生活不规律
	ArrayList<Student> al1422 =new ArrayList<Student>();
//	女生 4人寝 性格为热闹 生活规律
	ArrayList<Student> al1431 =new ArrayList<Student>();
//	女生 4人寝 性格为热闹 生活不规律
	ArrayList<Student> al1432 =new ArrayList<Student>();
//	女生 6人寝 性格为默认 生活规律
	ArrayList<Student> al1611 =new ArrayList<Student>();
//	女生 6人寝 性格为默认 生活不规律
	ArrayList<Student> al1612 =new ArrayList<Student>();
//	女生 6人寝 性格为安静 生活规律
	ArrayList<Student> al1621 =new ArrayList<Student>();
//	女生 6人寝 性格为安静 生活不规律
	ArrayList<Student> al1622 =new ArrayList<Student>();
//	女生 6人寝 性格为热闹 生活规律
	ArrayList<Student> al1631 =new ArrayList<Student>();
//	女生 6人寝 性格为热闹 生活不规律
	ArrayList<Student> al1632 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al1811 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al1812 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al1821 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al1822 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活规律
	ArrayList<Student> al1831 =new ArrayList<Student>();
//	女生 8人寝 性格为热闹 生活不规律
	ArrayList<Student> al1832 =new ArrayList<Student>();
//	查询数据库学生信息
	private void analyzeRoomSize(){
		try {
	        pstmt = (PreparedStatement)conn .prepareStatement(sql);
	        ResultSet rs = pstmt.executeQuery();
	        while (rs.next()) {
//	        	学号
	        	String id=rs.getString(1);
//	        	名字
	        	String name=rs.getString(3);
//	        	性别
	        	String sex=rs.getString(4);
//	        	地址 
	        	String add=rs.getString(7);
//	        	爱好 吃,音乐
	        	String hobby=rs.getString(8);
//	        	房间大小;4,6,8
	        	String roomSize=rs.getString(9);
//	        	习惯 吸烟,喝酒
	        	String habit=rs.getString(10);
//	        	生活习惯 安静,热闹
	        	String lifeHabit=rs.getString(11);
//	        	生活规律 熬夜,规律
	        	String liveHobby=rs.getString(12);
//	        	得分
	        	String message=rs.getString(14);
//	        	判读性别
	        	if(sex.equals("男")){	        	
	        		Student s=new Student();
//	        		设置id
	        		s.setId(rs.getString(1));
//	        		设置student为男
	        		s.setSex("0");
//	        		设置student生活习惯
	        		s.setLifeHabit(lifeHabit);
//	        		设置student生活规律
	        		s.setLifeHabit(liveHobby);
//	        		把寝室要求人数相同的分析出来
	        		if(roomSize.equals("四人寝")){
//	        			设置student为4人
	        			s.setRoomSize("4");	        			
	        			alSex04.add(s);
	        		}else if(roomSize.equals("六人寝")){
	        			s.setRoomSize("6");	        			
	        			alSex06.add(s);
	        		}else if(roomSize.equals("八人寝")){
	        			s.setRoomSize("8");	        			
	        			alSex08.add(s);
	        		}else{
//	        			alSex08.add(s);
	        		}
//	        		设置student房间大小为4
	        	}else if(sex.equals("女")){	        		
	        		Student s=new Student();
//	        		设置student为女
	        		s.setSex("1");
//	        		把寝室要求人数相同的分析出来
	        		if(roomSize.equals("四人寝")){
	        			s.setRoomSize("4");	        			
	        			alSex14.add(s);
	        		}else if(roomSize.equals("六人寝")){
	        			s.setRoomSize("6");	        			
	        			alSex16.add(s);
	        		}else if(roomSize.equals("八人寝")){
	        			alSex18.add(s);
	        			s.setRoomSize("8");	        			
	        		}else{
//	        			alSex08.add(s);
	        		}
	        	}
	        }
	    } catch (SQLException e) {
	        e.printStackTrace();
	    }
//		临时接收a1为 性别 房间大小 生活爱好
		ArrayList a1=analyzeLifeHabit(alSex04);
		al041=(ArrayList<Student>) a1.get(0);
		al042=(ArrayList<Student>) a1.get(1);
		al043=(ArrayList<Student>) a1.get(2);
		ArrayList a2=analyzeLifeHabit(alSex06);
		al061=(ArrayList<Student>) a2.get(0);
		al062=(ArrayList<Student>) a2.get(1);
		al063=(ArrayList<Student>) a2.get(2);
		ArrayList a3=analyzeLifeHabit(alSex08);
		al081=(ArrayList<Student>) a3.get(0);
		al082=(ArrayList<Student>) a3.get(1);
		al083=(ArrayList<Student>) a3.get(2);
		ArrayList a4=analyzeLifeHabit(alSex14);
		al141=(ArrayList<Student>) a4.get(0);
		al142=(ArrayList<Student>) a4.get(1);
		al143=(ArrayList<Student>) a4.get(2);
		ArrayList a5=analyzeLifeHabit(alSex16);
		al161=(ArrayList<Student>) a5.get(0);
		al162=(ArrayList<Student>) a5.get(1);
		al163=(ArrayList<Student>) a5.get(2);
		ArrayList a6=analyzeLifeHabit(alSex18);
		al181=(ArrayList<Student>) a6.get(0);
		al182=(ArrayList<Student>) a6.get(1);
		al183=(ArrayList<Student>) a6.get(2);

	}
//	生活习惯分析
	private ArrayList analyzeLifeHabit(ArrayList a){
//		生活习惯 默认
		ArrayList<Student> a1 =new ArrayList<Student>();
//		生活习惯 安静
		ArrayList<Student> a2 =new ArrayList<Student>();
//		生活习惯 热闹
		ArrayList<Student> a3 =new ArrayList<Student>();
//		将前三个arraylist添加进来返回
		ArrayList<ArrayList> a4= new ArrayList<ArrayList>();
		Iterator it =a.iterator();
		while (it.hasNext()) {
			Student s = (Student) it.next();
			String lifeHabit=s.getLifeHabit();
			if(lifeHabit.equals("默认")){
				a1.add(s);
			}else if(lifeHabit.equals("安静")){
				a2.add(s);
			}else if(lifeHabit.equals("热闹")){
				a3.add(s);
			}else{
			}
		}
		a4.add(a1);
		a4.add(a2);
		a4.add(a3);
		return a4;
	}
	
}
